﻿using System;
using System.Collections.Generic;
using System.Text;
using com.clinica.business.BE.acttar;
using com.clinica.business.entities;
using com.clinica.dao.sql;
/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/

namespace com.clinica.DL.sql.acttar
{
    public static class TarifarioDL
    {
        public static List<TarifarioBE> ObtenerSolicitudTarifarios(TarifarioBE oTarifario, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarSolictudTarifa_01";
            cmd.AddParameter("@TipoTarifa", oTarifario.TipoSolicitud);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oTarifario.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oTarifario.Descripcion.Trim());
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<TarifarioBE> ObtenerSolicitudTarifariosXEstado(TarifarioBE oTarifario, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarSolictudTarifa_06";
            cmd.AddParameter("@TipoTarifa", oTarifario.TipoSolicitud);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroSol", oTarifario.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oTarifario.Descripcion.Trim());
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<TarifarioBE> ObtenerSolicitudTarifarios(TarifarioBE oTarifario)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerSolictudTarifa_02";
            cmd.AddParameter("@TipoDoc", oTarifario.TipoSolicitud);
            cmd.AddParameter("@NroSol", oTarifario.NumeroSolicitud);
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<TarifarioBE> ObtenerTarifa(TarifarioBE oTarifario)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarTarifaOrigen_03";
            cmd.AddParameter("@NroSol", oTarifario.NumeroSolicitud);
            cmd.AddParameter("@Descripcion", oTarifario.Descripcion.Trim());
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }

        public static List<TarifarioBE> ActualizarTarifario(int accion, string objxml)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_MantenimientoSolicituTarifario_05";
            cmd.AddParameter("@Accion", accion);
            cmd.AddParameter("@xml", (object)objxml);
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<TarifarioBE> ActualizarEstadoTarifario(TarifarioBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizarEstadoTarifarios_07";
            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }


        public static void AnularTarifario(TarifarioBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : CROJAS
             * Fecha      : 2011-06-10
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_Anular_SolicitudTarifa";
            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.CodigoTarifario);
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            
        }

        public static List<TarifarioBE> RechazarSolicitudTarifario(TarifarioBE obj)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<TarifarioBE> lst = new List<TarifarioBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_Rechazar_SolicitudTarifa_01";
            cmd.AddParameter("@TipSolicitud", obj.TipoSolicitud);
            cmd.AddParameter("@NroSolicitud", obj.NumeroSolicitud);
            cmd.AddParameter("@Observaciones", obj.Observaciones);
            lst = (List<TarifarioBE>)ElManager.EjecutarStore<TarifarioBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        

    }
}
